package com.tbit.uqbike.client.dao.core;

import com.tbit.common.entity.UserAccountMoney;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @Author: chen
 * @Description: 用户区域余额表
 * @Date: 创建于 14:04 2022/11/23
 */
public interface UserAccountMoneyDao {

    /**
     * 新增
     *
     * @param userAccountMoney
     */
    void insert(UserAccountMoney userAccountMoney);

    /**
     * 查询用户所有区域金额
     *
     * @param map
     * @return
     */
    List<UserAccountMoney> getByUserIdAndBrandId(Map<String, Object> map);

    /**
     * 查询用户指定区域金额
     *
     * @param map
     * @return
     */
    UserAccountMoney getByAccountId(Map<String, Object> map);

    /**
     * 更新
     *
     * @param userAccountMoney
     */
    void edit(UserAccountMoney userAccountMoney);

    /**
     * 删除
     *
     * @param userAccountMoney
     */
    void del(UserAccountMoney userAccountMoney);

    /**
     * 更新用户欠款为0
     *
     * @param userId
     * @param moneyType
     * @param updateTime
     */
    void editRideMoney(@Param("userId") Integer userId, @Param("moneyType") Integer moneyType, @Param("updateTime") Long updateTime);

    /**
     * 更新用户区域欠款金额
     * @param userId 用户id
     * @param accountId 区域id
     * @param rideMoney 欠款金额
     * @param updateTime 修改时间
     */
    void updateRideMoney(@Param("userId") Integer userId, @Param("accountId") Integer accountId, @Param("rideMoney") Long rideMoney, @Param("updateTime") Long updateTime);
}
